第一章、前言
JIRA 是澳大利亚 Atlassian 公司开发的一款优秀的问题跟踪管理软件工具,可以对各种类型的问题进行跟踪管理,包括缺陷、任务、需求、改进等。JIRA采用J2EE技术,能够跨平台部署。它正被广泛的开源软件组织,以及全球著名的公司使用。
JIRA产品非常完善且功能强大,安装配置简单,多语言支持、界面十分友好,和 其他系统如CVS、Subversion(SVN)、VSS、LDAP、邮件服务整合得相当好,文档齐全,可用性以及可扩展性方面都十分出色,拥有完整的用户权限管理。
您可在JIRA中国网站 http://www.fangwai.net/ 上了解到JIRA 更为详细的信息。
此文档主要介绍了JIRA产品的特性、安装配置、基本概念及操作。为您评估使用JIRA提供一个基本的指南。另外,本文档中介绍的部分功能是JIRA企业版独有的,如:项目类别管理功能、设置模块负责人。
第二章、JIRA介绍
跟踪并管理在项目开发和维护过程中出现的问题(如:缺陷、新特性、任务、 改进等)是 项目管理很重要的任务,但是很少有团队能做的很好。 JIRA作为一个专业的问题跟踪系统可以帮助您把 缺陷管理起来,让跟踪和管理在项目中发现的问题变得简单,而且充分利用JIRA的灵活配置和扩展特性,可以将JIRA作为一个项目管理系统或者IT支持系统。
2.1 JIRA 的特性
1) 管理缺陷,新特性、任务、改进或者其他任何问题
2) 干净和强大的用户界面
3) 灵活的 工作流定制
4) 全文搜索和强大的过滤器
5) 企业级的权限和安全控制
6) 非常灵活的邮件通知配置
7) 可以创建子任务
8) 方便的扩展及与其他系统集成:包括 email 、LDAP 和源码控制工具等;
9) 丰富插件库
10) 项目类别和组件/模块管理
11) 可以在几乎所有硬件、 操作系 统和 数据 库平台上运行
2.2 JIRA 的版本
为了适应不同用户的使用需求,JIRA产品提供三种版本,分别为:标准版,专业版和企业版,这三种版本在功能上有区别。企业版的功能最全,含盖了标准版和专业版的全部功能并有较多增强的功能,专业版则包含了标准版的全部功能并有一些增强功能,标准版本是JIRA的基础版本。
2.2.1 企业版
是为企业级用户设计的,它与标准版,专业版相比,具有以下一些独有的、重要的功能:
1)项目类别管理功能:可以将相关的项目分组管理。
2)组件/模块负责人功能:可以将项目的不同组件/模块指派相应的负责人,来处理所负责的组件的Issues。
3)项目email地址功能:每个项目可以有不同的email(该项目的通知邮件从该地址发出)。
4)LDAP配置器:用于将JIRA连接到公司的LDAP目录上。
5)Issue安全级别:在一个项目里可以精确地控制对Issue的访问。
6)无限制的工作流:可以创建多个工作流为不同的项目使用;
2.2.2 专业版
是为部门级设计的。它不具备JIRA企业版独有的功能,但是它与JIRA标准版相比多出了如下几个方面的功能:
1)子任务功能:可以在某个Issue下创建子任务;
2)共享过滤器功能:一个团队成员可以访问共享的过滤器;
3)Multiple dashboards功能:可以定制自己的JIRA显示面板;
4)工作流编辑功能:可以对workflow进行编辑;
5)无限制的CVS repositories。
2.2.3 标准版
是为工作组级别设计的。它不具备上述的JIRA专业版和企业版的增强功能,具有JIRA的标准功能.
2.3 JIRA中涉及的角色
JIRA作为一个缺陷跟踪管理系统,可以被企业管理人员,项目管理人员,开发人员,分析人员, 测试人员和其他人员所广泛使用。
2.3.1管理人员
根据JIRA系统提供的数据,更加准确地了解项目的开发质量和状态,以及整个团队的工作效率。
2.3.2项目管理者
可以针对登记进JIRA系统中问题,进行评估,分配缺陷;还可以通过JIRA系统的统计报告了解项目进展情况以及团队的工作量、工作效率等信息。
2.3.3开发人员
在JIRA系统中查看分配给自己的问题,及时进行处理,填写处理情况并提交工作量记录。
2.3.4 测试人员
根据测试情况,在JIRA系统中及时快速的记录问题并对开发人员处理后的问题进行验证和跟踪。
第三章、安装JIRA
JIRA系统是一个'web应用',就是说JIRA是需要安装到服务器上运行,客户端在自己的计算机上通过 web浏览器(如:IE)来访问JIRA。因此安装JIRA的需要条件主要是和服务器有关。
3.1安装Standalone发布包
Standalone发布包集成了应用服务器(Tomcat)和HSQL数据库,仅需要Java环境,简单点儿说就是要安装JDK1.3以上版本;建议以前没有接触过JIRA的用户使用Standalone发布包。JIRA的Standalone发布包安装非常简单,您只需要从 http://www.fangwai.net/网站上下载最新的Standalone版本,然后解压缩到本地硬盘上(需要注意的是不要使用WinXP系统自带unzip功能),然后运行\bin目录下的startup.bat脚本文件就可以启动JIRA了。
运行startup脚本后,在web浏览器中访问: http://localhost:8080/然后根据浏览器界面上的JIRA配置向导,经过三个配置步骤就完成了:
第一个步骤是配置JIRA系统的属性;
第二个步骤是配置JIRA系统管理员的信息;
第三个步骤是配置JIRA系统的邮件通知参数。
让我们在几分钟内就搭建好Standalone版本的JIRA,并运行在您的系统上。
在*标题输入中输入您安装的JIRA系统的标题信息;
在*模式下拉框中有两个选项:public和private。表示JIRA可以运行在两种模式下。Public模式-在这种模式下用户可以自己注册到JIRA系统中,并可以创建问题;
Private模式-表示安装的JIRA系统是私有的,不允许用户随意注册,只能由JIRA系统管理员来创建用户、分配权限。
*根网址,表示您安装的JIRA系统的访问地址,用户在浏览器中通过这个URL来访问;
"*索引路径"输入框中输入保存JIRA系统索引数据的目录,如:d:\jira\indexs
Enable Backups,选择"是"启用JIRA系统的自动备份功能;
"附件路径"输入框中输入保存与问题关联的附件文件的目录,如:d:\jira\attachments
"备份路径"输入框中输入保存JIRA备份文件的目录,如:d:\jira\backups (JIRA提供了定期自动备份的功能,自动备份的文件就存储在这个目录下。)
"授权码"输入框中输入评估license,如果没有的话,可以在安装界面上点击"在线"链接生成一个评估license,输入评估license后,点击"下一步"按钮开始第二步配置。
说明:您可能已经注意到了JIRA的安装界面右边有"Choose Language"列出了十几个国家的国旗图标,表示JIRA系统目前支持的语言种类,中文是默认的安装语言,如果您希望安装完成后,JIRA系统的用户界面是其他语言,那您可以在此选择一下。值得一提的是在安装完成后,用户也可以根据自己的需要和喜好,通过修改自己的配置参数来改变JIRA界面的显示语言,不影响其他用户的界面显示语言。
分别输入JIRA系统管理员的登录用户名、密码、全称以及管理员的邮件地址。然后点击"下一步"按钮进入第三步的配置。
您可以根据具体情况填写邮件通知的配置信息。如果您不希望JIRA系统与邮件系统集成来提供邮件通知功能,那么您可以点击"禁止邮件通知"按钮。
在网址输入框中输入邮件服务器的域名或者IP地址,如:smtp.fangwai.net
SMTP端口通常填写为25(这个邮件服务器发送邮件的默认端口);
用户名输入框中填写一个邮件的帐号,如:plum
密码输入框中填写与上面邮件帐号对应的密码。
然后点击"完成"按钮,结束JIRA的配置。
注:JIRA支持一个SMTP的邮件服务器以及若干个POP/IMAP邮件服务器。通过SMTP邮件服务器,JIRA会发邮件给订阅系统事件或者被分配Issue的用户。通过POP/IMPA邮件服务器,使用者可以通过email建立新的Issue或者对已有的Issue发表评论,非常方便,解决了许多项目团队中信息分散的问题。
3.2 浏览器要求
JIRA支持各种主流的web浏览器,如:IE6、Mozilla、Firefox、Opera、Safari等。
3.3 操作系统要求
JIRA的运行需要Java环境,Java是一个跨平台的编程语言,因此所有支持Java的操作系统上都可以运行JIRA,当然也需要考虑操作系统上是否支持您选择的应用服务器软件。目前Sun的JDK有 Windows(32位和64位),Solaris(APARC 32位和64位), Linux平台(32位和64位)。
3.4 JIRA支持的应用服务
1)OrionServer
2)Resin
3)Tomcat
4)JBoss
5)Jetty
6) Oracle OC4J
7)Weblogic
3.5 JIRA支持的数据库
1)Oracle
2)DB2
3) MySQL
4)Firebird
5) SQL Server
6)SapDB
7)PostgreSQL
8)Sybase
第四章、JIRA中的概念
4.1问题
JIRA跟踪问题(Issue),这些问题可以是 bug,功能请求或者任何其他您想要跟踪的的任务;每一个问题有一些关联的信息:
-问题类型(Issue Type)
-摘要(summary)
-问题描述(description)
-问题所属的项目
-问题关联的项目组件(component)
-问题影响的项目版本(affect version)
-问题将被解决的项目版本(resolved version)
-问题发生的环境
-问题的优先级
-问题的报告者
-问题的指派处理人
-问题的当前状态
-问题相关的历史记录
4.1.1问题类型
JIRA系统可以用于跟踪多种不同类型的问题。系统管理员可以根据需要添加。JIRA系统缺省提供的问题类型如下:
Bug 测试过程、维护过程发现影响系统运行的缺陷
New Feature 对系统提出的新功能
Task 需要完成的任务
Improvement 对现有系统功能的改进
4.1.2优先级(Priority Levels)
在JIRA系统中用优先级来表示问题的严重级别。系统管理员可以在JIRA系统中添加优先级,JIRA系统缺省的优先级如下:
Blocker 阻塞开发或测试的工作进度,或影响系统无法运行的错误
Critical 系统崩溃,丢失数据或内存溢出等严重错误、或者必需完成的任务
Major 主要的功能无效、新增功能建议
Minor 功能部分无效或对现有系统的改进
Trivial 拼写错误,文本未对齐等
4.1.3 状态(Status)
每个问题有一个状态,用来表明问题所处的阶段,问题通过开始于open状态,然后开始处理/Progress,再到解决/Resolved,然后被关闭/Closed。根据情况的不同,您可以根据项目来定制问题状态以及工作流。JIRA系统提供的缺省状态如下:
Open 表示问题被提交等待有人处理。
In Progress 问题在处理当中,尚未完成。
Resolved 问题曾解决,但解决结论未获认可,需要重新分派解决。
Reopened 问题解决,等待结果确认,确认的结果是"Reopened"或者"Closed"。
Closed 问题处理结果确认后,置于关闭状态。
4.1.4 解决(Resolutions)
一个问题可以用多种方式解决,系统管理员是可以在JIRA系统中定制解决方式。JIRA系统默认的解决方式如下:
Fixed 问题已经解决。
Won't Fix 问题未解决 - 将不会解决的问题。
Duplicate 重复的问题。
Incomplete 问题描述得不够准确、完全。
Cannot Reproduce 问题重现失败,或者无足够的信息重现问题。
4.2 项目
一个JIRA系统通常包含许多项目。这些项目相当于产品或者开发项目,您想要跟踪和这些项目相关的问题。每一个问题属于一个项目。每一个项目有一个名字和一个关键字(如:WEB),以后属于这个项目的问题的关键字就会包含WEB(如:WEB-100,WEB-101)。值得注意的是,在JIRA系统中有一个权限'Administer Projects',通常将这个权限赋给项目负责人,拥有这个权限的JIRA用户就可以管理项目的'版本'和'组件'。
4.2.1 项目版本
在一个项目上,一般会有多个版本,如:1.0alpha、1.0beta、1.0、1.2、2.0。
JIRA系统中的问题涉及到两个版本字段:
-影响版本,如一个bug可能影响版本1.1和1.2。
-修复版本,如bug影响版本1.1和1.2,可能在2.0版本上被解决。
版本通常有三种状态:发布/released、未发布/unreleased和归档/archived。版本还有发布日期,在特定的报告中会显示。在JIRA系统中可以为项目创建版本。
4.2.2 项目组件
每一个项目通常会包含多个组件/模块,如:后台,GUI,邮件子系统等等。一个问题可以和组件关联起来。在JIRA系统中可以为项目添加组件。
4.3 分配给
分配给/Assign To:把某个问题Issue指定给某个团队成员去解决;
4.4 上传附件或屏幕截图
Attach file/Screenshot:附加文件或屏幕截图说明issue;
4.5 问题投票
投票/Voting:除了问题的创建人,其他人可以用投票来表明支持某个问题的内容;
4.6 监视问题
Watching:每人都有一个Watch List/监视列表,可以监视自己感兴趣的Issue的状态等。
第五章、使用JIRA
5.1 登录和注册
在成功安装配置完成后的界面上点击"登录到JIRA",就会看到JIRA的登录界面了:
输入系统管理员的用户名和密码就可以登录JIRA系统。当然也可以点击"注册"链接在JIRA系统中注册另外的用户帐号。JIRA系统的注册帐号
输入系统管理员帐号信息后登录JIRA系统.
5.2 创建新项目
现在可以算是正式开始使用JIRA了。在刚刚配置完的JIRA系统中是没有任何项目的,通常开始使用JIRA首先是创建项目,在上面的界面上点击"现在创建一个项目",在界面上输入项目的名称,关键字/Key,项目负责人,项目的描述信息,通知模型/Notification Scheme,权限模型/Permission Scheme。最初使用的时候可以暂时不用管网址和Issue Security选项。Notification Scheme和/Permission Scheme可以分别选择JIRA系统缺省的Default Notification Scheme和Default Permission Scheme。
项目的信息填写完成后,点击"增加"按钮就会看到您在JIRA系统中创建的新项目的详细信息界面;
接下来,您可以在项目的详细信息界面上,为项目创建组件/模块(Components),管理项目的版本。如要创建组件,可点击Component下方的"Add"链接,如要管理项目的版本(Versions),可点击Versions下面的"Manage"链接。
注意:新项目创建完成后,项目的关键字/key(如:上面界面图中项目的Key:KM)是不能修改的。
如果您想要继续创建新项目,则可以点击左侧的"项目"链接,然后再点击"Add Project"链接。
5.3 创建项目类别
在使用JIRA过程中,会有越来越多的项目被添加到JIRA系统中,这时候可以利用JIRA系统的项目类别功能(Project Categories),定义一些项目类别名称,然后将同类的项目归到一个类别里面,方便管理。
在项目详细信息界面上可以找到Project Category: 无 ( Select Category ) 点击"Select Category"链接,选择一个项目类别,这样就把该项目添加到所选择的项目类别里了。把项目添加到项目类别后,在JIRA系统的首页上可以看到的效果;
5.4 添加用户
在安装完JIRA系统后,系统中只有一个系统管理员帐号;在创建完项目后,通常需要在JIRA系统中添加其他的用户帐号,在管理界面上点击左侧的Users&Groups->"User Browser"链接,在User Browser界面上再点击"Add User"链接就可以添加新用户了。注意:不要使用汉字作为用户名。
5.5 添加组
JIRA系统的用户是通过Group来管理的,通过给组的授权,达到管理用户的目的。添加组的步骤:
在管理界面上点击左侧的Users&Groups->"Group Browser"链接,在Group Browser界面右侧名称输入框中输入组名,然后点击"Add Group"按钮即可。注意:不要使用汉字作为组名。
5.6 创建问题
创建问题第一个步骤是选择项目和问题类型,然后点击"下一步"填写问题的详细信息。
创建问题的第二步,填写或选择创建的问题详细信息,主要包括:问题的概要描述、优先级、逾期日期、所属模块、问题影响的版本、问题修复的版本、分配给哪个人员、问题出现的环境描述、问题详细信息描述。填写完成后,点击"创建"按钮。
问题创建完成后,分配到问题的用户将会收到通知邮件,登录JIRA系统后,在分配给我的问题列表中点击问题链接后,在问题的详细信息界面上就可以进行根据可选工作流程进行操作。
问题详细信息界面图如下,从图中可以看出这个目前对这个问题可以进行的操作有三个:开始进行、解决问题和关闭问题。
问题创建后,您除了可安装可选工作流程对问题进行处理外,还可以给问题上传附件,填写备注,复制和编辑问题,如果有权限的话,还可以删除问题,创建子任务等。
5.7 浏览项目
在浏览项目的界面上可以看到项目的基本信息资料,模块和版本信息及问题分布情况。
5.8 查找问题
在查找问题界面上,您可以在界面左侧进行查询条件的设置,JIRA提供了强大的查询功能,在您设定好查询条件后,还可以将查询条件保存起来,定义为过滤器,供以后的重复使用,甚至可以将保存的过滤器共享给团队的其他成员。
第六章、项目设置
6.1 添加项目
输入项目名称、项目缩写、项目经理,选择邮件通知方案和权限设置方案;参见5.2
6.2 添加项目模块
在项目的详细信息界面上,为项目创建组件/模块(Components),管理项目的版本。如要创建组件,可点击Components下方的"Add"链接。
6.3添加项目版本
设置步骤如下:
在 Project 页面下的" Versions "部分,点击" Manage "Versions,进入管理版本界面,可以为项目添加版本、版本描述、设置发布日期。
6.4选择项目权限方案
设置步骤如下:
1)点击"管理"-"项目 ",点击项目名称链查看项目详细信息界面;
2)在" Permission Scheme "部分,点击" 选择 "链接,在进入的页面中选择需要的权限设置方案。
6.5 设置项目的 Default Assignee
系统默认是分配给项目负责人,即项目经理。可以根据需要选择默认为模块负责人。
设置步骤如下:
1)在 Project 页面下的" Components "部分,在" select assignees for components "处,点击" Select "链接,进入" Select Component Assignee "界面
2)选择模块的默认分配人。
6.6 选择邮件通知方案
设置步骤如下:
1)选择"管理"-" Projects "-" Projects ",进入项目详细信息界面;
2)在" Notification Scheme "部分,点击" select scheme "链接,在进入的页面中选择需要的邮件通知方案。
第七章、JIRA系统的权限
JIRA系统中的权限管理分为:系统级别、项目级别、问题级别以及注释级别。系统级是通过"全局权限(Global Permissions)"来管理的,影响JIRA系统中所有的项目和问题。针对个别项目来说,您还可以通过JIRA系统中的权限模型(Permission Scheme)进一步配置项目级别的权限。下面将分别介绍全局权限和基于项目的权限模型。
7.1 全局权限
设置步骤:
1) 以JIRA系统管理员登录系统;
2) 点击" Global Settings"->" Global Permissions"。
7.2 系统缺省权限模型
如下是关于JIRA系统缺省权限模型中的权限描述:
Administer Projects 管理项目的权限,能够管理项目的组件/components和版本/versions;通常将此权限分配给项目负责人。
Browse Projects 浏览项目;无此权限将无法浏览到JIRA系统中的项目;通常将此权限分配给项目组成员。
Create Issues 创建问题(报告bug);通常将此权限分配给测试人员。
Edit Issues 编辑问题;拥有此权限可以对创建后的问题进行修改。通常将此权限分配给问题报告者、项目管理人员;
Schedule Issues 设置或者编辑问题的预期完成日期;通常将此权限分配给问题报告者、项目管理人员;
Move Issues 在项目之间移动问题;只能移动到有创建问题权限的项目上;通常将此权限分配给项目管理人员;
Assign Issues 分配问题;通常将此权限分配给测试人员、项目管理人员。
Assignable User 可以分配到问题的人;通常将此权限分配给开发人员。
Resolve Issues 解决和重新打开问题,可以设置修复版本;通常将此权限分配给开发人员。
Close Issues 关闭问题;通常将此权限分配给问题报告人员或QA人员。
Modify Reporter 创建或编辑问题时修改报告者;通常将此权限分配给问题报告人员或项目管理人员。
Add Comments 添加注释;通常将此权限分配给项目组所有人员。
Delete Issues 删除问题、注释和附件;通常将此权限分配给问题报告人员或项目管理人员。
Work On Issues 针对问题做完成情况记录,须启用Time Tracking;通常将此权限分配给开发人员。
Link Issues 将相关问题链接到一起,须启用Issue Linking;通常将此权限分配给问题报告人员或项目管理人员。
Create Attachments 添加附件;通常将此权限分配给问题报告人员、开发人员和项目管理人员。
View Version Control 查看问题的提交版本控制信息;通常将此权限分配给问题报告人员、开发人员和项目管理人员。
View Voters and Watchers 查看投票者和关注者列表信息;通常将此权限分配给JIRA系统管理人员。
Manage Watcher List 管理问题监视者列表;通常将此权限分配给JIRA系统管理人员。
Set Issue Security 设置问题的安全级别,只有处于该安全级别的用户才可以看到问题。通常将此权限分配给JIRA系统管理人员。
第八章、常** 见问题 **与解答
Q :在哪里可以下载到 JIRA?
A :JIRA的官方下载URL:http://www.fangwai.net/software/jira/jiradownloadcenter.htm
Q :怎样能直接看到该缺陷,而不是必须先登录后可以看到该缺陷?
A :该问题有两种解决办法:
第一种是设置用户组 anyone 的权限为: Browse Projects ;
第二种是在登录页面,将"保持我在这台计算机的登录"复选框选中。
Q :JIRA能和源代码管理工具集成吗?
A :能。JIRA系统中内置了与CVS集成的配置界面;另外JIRA还可以和SVN(Subversion)、Perforce。
Q :JIRA能和MS VSS集成吗?
A :JIRA目前支持和VSS集成。
Q :JIRA能和目录服务器集成进行用户登录认证吗?
A :能。如:JIRA可以和MS目录服务器(Active Directory)、OpenLDAP集成。
Q :JIRA的扩展性如何?
A :JIRA具有很好的扩展性。Atlassian为开发者提供了丰富的"资源",其中有开发文档和教程、插件开发工具箱、开发者邮件列表、插件库、JIRA API等等。